Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

Windows内核调试

帖子发起人: vstone   发起时间: 2013-03-31 01:27 上午   回复: 11

Print Search
帖子排序:    
   2013-03-31, 01:27 上午
vstone 离线,最后访问时间: 2013/3/30 16:50:05 vstone

发帖数前200位
注册: 2013-03-30
发 贴: 6
windbg连接target系统后,target系统无法进入登陆界面

附件: 123未命名.JPG
Reply Quote

各位好:

最近想借助windbg调试一下我的驱动,看了网上很多关于双机调试的资料,多数都是虚拟机作为target进行调试。这个我也尝试了一下,确实可以。

但我的这个驱动需要主板上的硬件,所以我就只能两个实体PC进行调试了,一个作为host,一个作为target.按照网上的配置,主机成功与目标机建立了连接,

且在目标机启动界面结束以前,从主机端都可以中断(ctrl+break)目标机,而在目标机启动界面结束后主机就再也无法中断目标机。

不知道各位有没有遇到过这种情况 ,附件为目标机最后卡住时主机windbg的情况。



IP 地址: 已记录   报告
   2013-03-31, 22:01 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: windbg连接target系统后,target系统无法进入登陆界面
Reply Quote

估计是目标机中的某个驱动有反调试行为,有意无意“破坏”了调试设施。卸载目标系统中不必要的软件,或者换个目标试验一下...

 


IP 地址: 已记录   报告
   2013-04-02, 00:52 上午
vstone 离线,最后访问时间: 2013/3/30 16:50:05 vstone

发帖数前200位
注册: 2013-03-30
发 贴: 6
Re: windbg连接target系统后,target系统无法进入登陆界面
Reply Quote

谢了。

换了好几个版本的系统了,都不行,有一个版本XP SP3的安全模式下可以进入到界面,但应用程序此时却不能起来。

这个很怪了,有没有人遇到过呀。


IP 地址: 已记录   报告
   2013-04-02, 09:41 上午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: windbg连接target系统后,target系统无法进入登陆界面
Reply Quote

用的什么通信方式,1394还是串口?

按Ctrl + Alt + D热键,激活调试信息,显示的信息粘贴几行过来...

 


IP 地址: 已记录   报告
   2013-04-05, 20:57 下午
vstone 离线,最后访问时间: 2013/3/30 16:50:05 vstone

发帖数前200位
注册: 2013-03-30
发 贴: 6
Re: windbg连接target系统后,target系统无法进入登陆界面
Reply Quote

用的通讯方式是串口,调试信息如下:

Intel Storage Driver Ver: 9.5.6.1001 
We are running at performance mode.
----biosMagic:0xffffffff
Break instruction exception - code 80000003 (first chance)
*******************************************************************************
*                                                                             *
*   You are seeing this message because you pressed either                    *
*       CTRL+C (if you run kd.exe) or,                                        *
*       CTRL+BREAK (if you run WinDBG),                                       *
*   on your debugger machine's keyboard.                                      *
*                                                                             *
*                   THIS IS NOT A BUG OR A SYSTEM CRASH                       *
*                                                                             *
* If you did not intend to break into the debugger, press the "g" key, then   *
* press the "Enter" key now.  This message might immediately reappear.  If it *
* does, press "g" and "Enter" again.                                          *
*                                                                             *
*******************************************************************************
nt!RtlpBreakWithStatusInstruction:
804e3a42 cc              int     3
0: kd> g
下面为:Ctrl + Alt + D出来的信息
READ: Timeout.
READ: Wait for type 7 packet
READ: Timeout.
READ: Wait for type 7 packet
READ: Timeout.
READ: Wait for type 7 packet
READ: Timeout.
 
 
 
 
下面为(CRTL+R)的信息
 Resync packet id ...Kd sync initial break: on
Throttle 0x10 write to 0x1
SYNCTARGET: Timeout.
Throttle 0x10 write to 0x1
SYNCTARGET: Timeout.

IP 地址: 已记录   报告
   2013-04-06, 12:14 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: windbg连接target系统后,target系统无法进入登陆界面
Reply Quote

WinDBG调试输出说明主机端收不到预期的(类型7)数据包。简单说就是主机端和调试引擎之间的通信断了。这可能和数据线有关,但综合所有信息,还是怀疑某个软件(多半是驱动程序)破坏了串口通信,这也可以解释为什么安全模式时可以,因为安全模式时那个软件可能没有得到运行机会。

 

 


IP 地址: 已记录   报告
   2013-04-06, 13:26 下午
vstone 离线,最后访问时间: 2013/3/30 16:50:05 vstone

发帖数前200位
注册: 2013-03-30
发 贴: 6
Re: windbg连接target系统后,target系统无法进入登陆界面
Reply Quote

那么如何定位是哪个驱动或者软件破坏了串口通讯呢,我安装的直接就是xp sp3原安装包,没有其它非安装包中的驱动了。

而且这个安装包安装到虚拟机中,连接调试器,系统是可以正常进入的,只不过外围硬件有很多不同。

谢谢了。


IP 地址: 已记录   报告
   2013-04-06, 14:47 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: windbg连接target系统后,target系统无法进入登陆界面
Reply Quote

如果是干净的系统,那么是有些奇怪的。绝对如此么?

无论如何,可以尝试这样调查:

在能成功断下来时,选Debug > Event Filters调出调试事件配置对话框,选Load module事件,右侧按Command按钮,输入如下命令:

.echo *****module load****;lm;gc

设置好后,让恢复系统运行,然后每当有驱动加载时,应该就有信息输出,等没有信息输出时,再追查加载哪个驱动后就没有显示了(通信断了)...


IP 地址: 已记录   报告
   2013-04-06, 17:56 下午
vstone 离线,最后访问时间: 2013/3/30 16:50:05 vstone

发帖数前200位
注册: 2013-03-30
发 贴: 6
Re: windbg连接target系统后,target系统无法进入登陆界面
Reply Quote

按你所说的方法试了一下,最后一次出现的模块和倒数第二次出现的作了一下对比。多了下面这一行:

bec0f000 bf08c000   igxpdx32   (deferred)   ,然后我把系统目录下的这个文件改了一下名称,再作一次启动,

结果还是进入系统的时候挂住,对比最后两次模块发现多了下面这行:

bff70000 bff72480   vga_bff70000   (deferred) 

 

我在虚拟机中没有找到igxpdx32.dll文件


IP 地址: 已记录   报告
   2013-04-06, 22:08 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: windbg连接target系统后,target系统无法进入登陆界面
Reply Quote

把Ctrl+Alt+D的信息也激活,看出现timetout前是否有可疑的事件发生.

请一个经常做内核调试的同事或者朋友到现场看一下,也许可以更快解决问题。


IP 地址: 已记录   报告
   2013-04-16, 23:46 下午
vstone 离线,最后访问时间: 2013/3/30 16:50:05 vstone

发帖数前200位
注册: 2013-03-30
发 贴: 6
Re: windbg连接target系统后,target系统无法进入登陆界面
Reply Quote

我身边没有做这个的,我也只是想研究一下。

我把host和target对调一下,是没问题的。

 

问题可能在我的target板子,而且安全模式下既使连上了也会超时的,但是却可以中断系统。


IP 地址: 已记录   报告
   2013-05-04, 22:37 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: windbg连接target系统后,target系统无法进入登陆界面
Reply Quote

可以尝试监视KdDisableDebuggerWithLock函数,看是否有“人”通过这个DDI禁止内核调试,参考:

http://advdbg.org/blogs/advdbg_system/articles/5718.aspx


IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » windbg连接target系统后,target系统无法进入登陆界面

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.